package com.service;
import java.util.List;
import java.util.Map;

import com.entity.SysUser;
import com.utils.DataTables;

/**
 * @author lanouhn
 */
public interface SysUserService{
	/**
	 * 获得SysUser数据的总行数
	 * @return
	 */
    long getSysUserRowCount();
	/**
	 * 获得SysUser数据集合
	 * @return
	 */
    List<SysUser> selectSysUser();
	/**
	 * 获得一个SysUser对象,以参数SysUser对象中不为空的属性作为条件进行查询
	 * @param obj
	 * @return
	 */
    SysUser selectSysUserByObj(SysUser obj);
	/**
	 * 通过SysUser的id获得SysUser对象
	 * @param id
	 * @return
	 */
    SysUser selectSysUserById(Integer id);
	/**
	 * 插入SysUser到数据库,包括null值
	 * @param value
	 * @return
	 */
    int insertSysUser(SysUser value);
	/**
	 * 插入SysUser中属性值不为null的数据到数据库
	 * @param value
	 * @return
	 */
    int insertNonEmptySysUser(SysUser value);
	/**
	 * 批量插入SysUser到数据库
	 * @param value
	 * @return
	 */
    int insertSysUserByBatch(List<SysUser> value);
	/**
	 * 通过SysUser的id删除SysUser
	 * @param id
	 * @return
	 */
    int deleteSysUserById(Integer id);
	/**
	 * 通过SysUser的id更新SysUser中的数据,包括null值
	 * @param enti
	 * @return
	 */
    int updateSysUserById(SysUser enti);
	/**
	 * 通过SysUser的id更新SysUser中属性不为null的数据
	 * @param enti
	 * @return
	 */
    int updateNonEmptySysUserById(SysUser enti);

	/**
	 * 获取全部分页数据
	 * @param dataTables
	 * @return
	 */
	DataTables getPageList(DataTables dataTables);

	/**
	 * 添加
	 * @param sysUser
	 * @return
	 */
	Map<String,Object> addSysUser(SysUser sysUser);

	/**
	 * 更新
	 * @param sysUser
	 * @return
	 */
	Map<String,Object> updateSysUser(SysUser sysUser);

	/**
	 * 删除
	 * @param idList
	 * @return
	 */
	Map<String,Object> deleteByPrimaryKeys(List<Integer> idList);
}